import java.io.*;
import java.lang.Math;
public class Main {
		int hang;
		int lie;
		int a[][];
	public Main(int m,int n)
	{
		int i,j;
		hang=m;
		lie=n;
		a=new int[hang][lie];
		for(i=0;i<m;i++)
			for(j=0;j<n;j++)
				a[i][j]=(int)(Math.random()*100);	
		}
	public Main()
	{
	
	}
	public static Main fac(Main x,Main y){
		int i,j;
		Main m=new Main();
		m.a=new int[x.hang][x.lie];
		m.hang=x.hang;
		m.lie=x.lie;
		for(i=0;i<x.hang;i++)
		  for(j=0;j<x.lie;j++)
			  m.a[i][j]=x.a[i][j]+y.a[i][j];
		return m;
	}
	public static void Print(Main p,int m,int n)
	{
		for(int i=0;i<m;i++)
		{
			for(int j=0;j<n;j++)
				System.out.printf("%-4d",p.a[i][j]);
			System.out.println();
		}
	}
	public static void main(String[] args){
		int i,j;
		Main p=new Main(3,4);
		Main q=new Main(3,4);
		Main n=new Main();
		n=fac(p,q);
		System.out.println("第一个随机数组为：");
		Print(p,3,4);
		System.out.println("第二个随机数组为：");
		Print(q,3,4);
		System.out.println("两随机数组和为：");
		Print(n,3,4);	
		}
}  